package com.zhuo.common.domain.storage;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UploadResult {

    /**
     * 是否成功
     */
    private Boolean success;

    /**
     * 文件在存储中的唯一标识
     */
    private String key;

    /**
     * 对外可访问的 URL
     */
    private String url;

    /**
     * 原始文件名
     */
    private String originalFileName;

    /**
     * 所属 bucket
     */
    private String bucket;

    /**
     * 失败原因
     */
    private String errorMessage;

    /**
     * 文件大小
     */
    private long size;

    /**
     * 文件哈希或etag（S3兼容）
     */
    private String etag;

    /**
     * 服务提供商（cos、oss、minio等）
     */
    private String provider;
}
